package pe.com.casadesign.service.impl;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import pe.com.casadesign.dao.ParametroDAO;
import pe.com.casadesign.domain.Parametro;
import pe.com.casadesign.domain.ListaParametro;
import pe.com.casadesign.domain.OperacionResultado;
import pe.com.casadesign.service.ParametroService;
import pe.com.casadesign.service.util.Constantes;

/**
 * Implementacion de ParametroService.
 * 
 * @author Pedro Vera
 * 
 */
@Service
public class ParametroServiceImpl implements ParametroService {
	private static final Logger logger = LoggerFactory.getLogger(ClienteServiceImpl.class);

    @Autowired
    private ParametroDAO parametroDAO;
    
	@Override
	public ListaParametro listarParametro() {
		return parametroDAO.listarParametro();
	}

	@Override
	@Transactional (propagation=Propagation.REQUIRED, rollbackFor=Exception.class)
	public OperacionResultado actualizarParametros(ListaParametro listaParametro) {
		boolean resultado = parametroDAO.actualizarParametros(listaParametro);
		
		OperacionResultado operacionResultado = new OperacionResultado();
		operacionResultado.setEsOK(resultado?Constantes.SI:Constantes.NO);
		
		return operacionResultado;
	}

	@Override
	public Parametro obtenerHoraActual() {
		return parametroDAO.obtenerHoraActual();
	}
	
}
